logical_and()
、logical_invert()
、logical_or()
和 logical_xor()
方法均期望其參數為邏輯操作數。邏輯操作數即指數位和符號位均為零,且其數字位均為 0
或 1
的 Decimal 實例。
上下文在 decimal
模塊中用來管理算術運算的環境,這些運算涉及精度、舍入規則、異常處理和指數範圍。每個線程都有自己獨立的上下文,可以通過 getcontext()
和 setcontext()
函數來讀取或修改,或者使用 localcontext()
函數在 with
語句中暫時改變上下文。
decimal.getcontext()
decimal.setcontext(c)
c
。decimal.localcontext(ctx=None, **kwargs)
with
語句中使用指定的 ctx
(或者當前上下文的副本)來暫時改變上下文。kwargs
參數可以用來設定新上下文的屬性。from decimal import localcontext
with localcontext(prec=42) as ctx:
s = calculate_something()
s = +s
Context
類Context
類用來建立新的上下文並提供多種方法來操作它們。預設有三種上下文:
decimal.BasicContext
ROUND_HALF_UP
,啟用多數陷阱,適合偵錯用途。decimal.ExtendedContext
ROUND_HALF_EVEN
,禁用所有陷阱,適合需要結果為 NaN
或 Infinity
的應用。decimal.DefaultContext
ROUND_HALF_EVEN
,啟用 Overflow
, InvalidOperation
, 和 DivisionByZero
陷阱,適合多線程環境。